export default function checkValidator() {

  const checkMobilePhone = (rule: any, value: any, callback: any) => {
    if (!value) {
      callback(new Error('请输入联系人手机号'))
    } else {
      const reg = /^1[3|4|5|7|8|9][0-9]\d{8}$/; //手机号正则表达式
      if (reg.test(value)) {
        callback()
      } else {
        return callback(new Error('请输入正确的手机号'))
      }
    }
  }
  const checkLandlinePhone = (rule: any, value: any, callback: any) => {
    if (!value) {
      callback(new Error('请输入联系人座机号'))
    } else {
      const reg = /^([0-9]{3,4}-)?[0-9]{7,8}$/; //座机号正则表达式
      if (reg.test(value)) {
        callback()
      } else {
        return callback(new Error('请输入正确的座机号'))
      }
    }
  }
  const checkBankAccount = (rule: any, value: any, callback: any) => {
    if (!value) {
      callback(new Error('请输入联系人银行账号'))
    } else {
      const reg = /^([1-9]{1})(\d{14}|\d{18})$/; //通用银行账号正则表达式
      if (reg.test(value)) {
        callback()
      } else {
        return callback(new Error('请输入正确的银行账号'))
      }
    }
  }
  const checkEmail = (rule: any, value: any, callback: any) => {
    if (!value) {
      callback(new Error('请输入联系人邮编'))
    } else {
      const reg = /^[1-9][0-9]{5}$/; //邮编正则表达式
      if (reg.test(value)) {
        callback()
      } else {
        return callback(new Error('请输入正确的邮编'))
      }
    }
  }
  const checkFax = (rule: any, value: any, callback: any) => {
    if (!value) {
      callback(new Error('请输入联系人传真'))
    } else {
      const reg = /^(([0\+]\d{2,3}-)?(0\d{2,3})-)(\d{7,8})(-(\d{3,}))?$/;//传真正则表达式
      if (reg.test(value)) {
        callback()
      } else {
        return callback(new Error('请输入正确的传真'))
      }
    }
  }
  //  返回需要的属性和方法
  return {
    checkMobilePhone,
    checkLandlinePhone,
    checkBankAccount,
    checkEmail,
    checkFax,
  }
}